package com.hllxd.hism.star.basic.service.service;


import com.hllxd.hism.star.basic.service.model.FengkongEntity;
import com.hllxd.hism.star.basic.service.model.metric.MetrichChartEntity;
import com.hllxd.hism.star.basic.service.model.doris.*;

import java.util.HashMap;
import java.util.List;

/**
 * @author xiyong.lxy
 * @date 2022-03-04 16:51
 */
public interface ReportService {

    /**
     * 读取风控的数据
     *
     * @return 各项数据信息
     */
    List<FengkongEntity> listFengkong(String dt1, String dt2, String biz);

    /**
     * 读取风控的数据
     *
     * @return 各项数据信息
     */
    List<FlowSummaryBuserEntity> listCustomerReport(String dt, String biz, String adEtpname);

    /**
     * 读取风控的数据
     *
     * @return 各项数据信息
     */
    List<FlowSummaryUserEntity> listUserReport(String dt, String biz, String imei);


    /**
     * 读取风控的数据
     *
     * @return 各项数据信息
     */
    List<FlowSummaryAdEntity> listAdReport(String dt, String biz, String adId);

    List<FlowSummaryEtpEntity> listEtpReport(String bizTime, String biz, String adEtpname);

    /**
     * 查看流量调控看板
     * @param kanbanFlowSummaryFlow 看板参数
     * @return 结果
     */
    List<KanbanFlowSummaryFlow> selectSummaryFlow(KanbanFlowSummaryFlow kanbanFlowSummaryFlow);


    /**
     * 客户效果数据-汇总报表
     * @param kanbanFlowSummaryCube 参数
     * @return 返回
     */
    List<KanbanFlowSummaryCube> listSummaryReport(KanbanFlowSummaryCube kanbanFlowSummaryCube);


    /**
     * 客户效果数据-读取对应的序列数据
     * @param metricCol 参数
     * @param dimMap 参数
     * @param tableName 参数
     * @return 返回
     */
    MetrichChartEntity getCustomerChart(String metricCol, HashMap<String, String> dimMap, String tableName);

    /**
     * 客户效果数据-读取对应的序列数据
     * @param columnName 参数
     * @param tableName 参数
     * @param filterMap 参数
     * @return 返回
     */
    MetrichChartEntity getSummaryReportEntChart(String columnName, String tableName, HashMap<String, String> filterMap);

}
